package cn.ava.ymcc.service;

import cn.ava.ymcc.domain.CourseOrder;
import cn.ava.ymcc.dto.CourseOrderDto;
import cn.ava.ymcc.dto.PayNotifyDto;
import com.baomidou.mybatisplus.service.IService;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author ava
 * @since 2022-08-18
 */
public interface ICourseOrderService extends IService<CourseOrder> {
    // 下单业务
    String placeOrder(CourseOrderDto courseOrderDto);
    // 保存主订单与子订单明细
    void saveAndItem(CourseOrder order);
    // 校验订单是否存在
    CourseOrder checkOrder(String orderNo);
    // 使用支付通知处理订单状态
    void handlerPayOrderNotify(PayNotifyDto notifyDto);
    // 订单超时处理
    void cancelCourseOrder(String orderNo);
    // 秒杀下单业务
    String killPlaceOrder(CourseOrderDto courseOrderDto);
}
